function renderOptions(target, options)
{
    $(target).html('');
    options.forEach(function(o) {
        var option = $('<option>');
        option.val(o.value);
        option.html(o.text);
        target.append(option);
    });
}

$(document).ready(function() {
    var filterMenu = kendo.ui.FilterMenu.fn;
    filterMenu.oldRefresh = filterMenu.refresh;
    filterMenu.refresh = function() {
        filterMenu.oldRefresh.apply(this, arguments);
        if (this.link.hasClass('k-state-active')) {
            this.link.parent().addClass('k-state-active');
        } else {
            this.link.parent().removeClass('k-state-active');
        }
    };
});

/**
 * MUY IMPORTANTE!!!
 * 
 * El siguiente codigo cacha todos los llamados AJAX del sitio y una vez que estos
 * se terminan checa el codigo de respuesta. Si el codigo es 403 (Prohibido)
 * -- La solicitud fue legal, pero el servidor se rehúsa a responderla. En contraste 
 * a una respuesta 401 No autorizado, la autentificación no haría la diferencia.
 * 404 No encontrado --
 * Recarga la pagina y como la sesion ya caduco o no existe el frame hace la magia
 * de volver a pedir el nombre de usuario y la contrasena.
 */
$(document).ajaxComplete(function(event, xhr, settings) {
    if (xhr.status === 403) {
        location.reload();
    }
});

function validDateJs(date, format) {
    var d = date.replace(/-/g, '/');
    return kendo.toString(new Date(d), format);
}
